From 6c4ced0f79f801d85da5e4973ae4154f01b04dba Mon Sep 17 00:00:00 2001 From: Sebastien Castiel Date: Wed, 6 Dec 2023 12:22:24 -0500 Subject: Loading screens & layouts --- .../expenses/[expenseId]/edit/loading.tsx | 3 ++ src/app/groups/[groupId]/layout.tsx | 37 ++++++++++++++++++++++ src/app/groups/[groupId]/loading.tsx | 3 ++ src/app/groups/[groupId]/page.tsx | 21 ++---------- 4 files changed, 46 insertions(+), 18 deletions(-) create mode 100644 src/app/groups/[groupId]/expenses/[expenseId]/edit/loading.tsx create mode 100644 src/app/groups/[groupId]/layout.tsx create mode 100644 src/app/groups/[groupId]/loading.tsx (limited to 'src/app/groups/[groupId]') diff --git a/src/app/groups/[groupId]/expenses/[expenseId]/edit/loading.tsx b/src/app/groups/[groupId]/expenses/[expenseId]/edit/loading.tsx new file mode 100644 index 0000000..2b6ca56 --- /dev/null +++ b/src/app/groups/[groupId]/expenses/[expenseId]/edit/loading.tsx @@ -0,0 +1,3 @@ +export default function Loading() { + return

Loading…

+} diff --git a/src/app/groups/[groupId]/layout.tsx b/src/app/groups/[groupId]/layout.tsx new file mode 100644 index 0000000..f8030c6 --- /dev/null +++ b/src/app/groups/[groupId]/layout.tsx @@ -0,0 +1,37 @@ +import { Button } from '@/components/ui/button' +import { getGroup } from '@/lib/api' +import { ChevronLeft, Edit } from 'lucide-react' +import Link from 'next/link' +import { notFound } from 'next/navigation' +import { PropsWithChildren } from 'react' + +export default async function GroupLayout({ + children, + params: { groupId }, +}: PropsWithChildren<{ + params: { groupId: string } +}>) { + const group = await getGroup(groupId) + if (!group) notFound() + + return ( +
+
+ + +
+ +

{group.name}

+ + {children} +
+ ) +} diff --git a/src/app/groups/[groupId]/loading.tsx b/src/app/groups/[groupId]/loading.tsx new file mode 100644 index 0000000..2b6ca56 --- /dev/null +++ b/src/app/groups/[groupId]/loading.tsx @@ -0,0 +1,3 @@ +export default function Loading() { + return

Loading…

+} diff --git a/src/app/groups/[groupId]/page.tsx b/src/app/groups/[groupId]/page.tsx index 1577d7a..9547fcc 100644 --- a/src/app/groups/[groupId]/page.tsx +++ b/src/app/groups/[groupId]/page.tsx @@ -17,7 +17,7 @@ import { TableRow, } from '@/components/ui/table' import { getGroup, getGroupExpenses } from '@/lib/api' -import { ChevronLeft, ChevronRight, Edit, Plus } from 'lucide-react' +import { ChevronRight, Plus } from 'lucide-react' import Link from 'next/link' import { notFound } from 'next/navigation' @@ -32,22 +32,7 @@ export default async function GroupPage({ const expenses = await getGroupExpenses(groupId) return ( -
-
- - -
- -

{group.name}

- + <>
@@ -136,6 +121,6 @@ export default async function GroupPage({ -
+ ) } -- cgit v1.3